package com.raymond.thread.manager.annotation;

import org.springframework.context.annotation.Lazy;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 管理线程
 * 当前线程数量@threadNum
 * 使用哪个线程池的名称@threadPoolName
 * 当前线程名称@线程名称
 * @author :  raymond
 * @version :  V1.0
 * @date :  2020-09-11 10:32
 */
@Target({ ElementType.TYPE })
@Retention( RetentionPolicy.RUNTIME)
@Lazy
public @interface ManagerThread {
    /**
     * 使用线程池的名称,没有则使用默认线程
     * @return 线程池名称
     */
    String threadPoolName() default "";

    /**
     * 当前线程名称
     * @return 线程名称
     */
    String threadName() default "";

    /**
     * 线程启动顺序
     * @return 线程启动顺序
     */
    int order() default 50;
}
